package com.cyw.search.service;

import cn.easyes.core.biz.PageInfo;
import com.cyw.common.core.domain.R;
import com.cyw.search.entity.monents.Moments;
import org.springframework.web.multipart.MultipartFile;


/**
 * @Author: Chenyw
 * @Date: 2022/11/02/17:39
 */
public interface SearchMomentsService{
    /**
     * 查询附近的圈子
     * @param geoPoint 经纬度
     * @param pageNum 页码
     * @param pageSize 每页显示数
     * @return PageInfo
     */
    PageInfo<Moments> searchNearMoments(String geoPoint,Integer pageNum, Integer pageSize);

    /**
     * 查询推荐圈子
     * @param pageNum 页码
     * @param pageSize 每页显示数
     * @return PageInfo
     */
    PageInfo<Moments> searchAllMoments(Integer pageNum, Integer pageSize);

    /**
     * 发布圈子
     * @param geoPoint 经纬度
     * @param content 内容
     * @param multipartFiles 九宫格图片
     * @return R
     */
    R publishMoments(String geoPoint, String content, MultipartFile[] multipartFiles);

    /**
     * 查看我发布过的圈子
     * @param pageNum 页码
     * @param pageSize 每页显示数
     * @return PageInfo
     */
    PageInfo<Moments> searchMyMoments(Integer pageNum, Integer pageSize);

    /**
     * 通过内容查看圈子
     * @param searchContent 搜索内容
     * @param pageNum 页码
     * @param pageSize 每页显示数
     * @return PageInfo
     */
    PageInfo<Moments> searchMomentsByContent(String searchContent, Integer pageNum, Integer pageSize);

    /**
     * 删除圈子
     * @param momentsId 圈子id
     * @return string
     */
    String deleteMoments(String momentsId);

    /**
     * 根据用户id获取圈子
     * @param userId 用户id
     * @param pageNum 页码
     * @param pageSize 每页显示数
     * @return PageInfo<Moments>
     */
    PageInfo<Moments> searchMomentsByUserId(Long userId, Integer pageNum, Integer pageSize);

    /**
     * 分页查看我关注圈子
     * @param pageNum 页码
     * @param pageSize 每页显示数
     * @return PageInfo
     */
    PageInfo<Moments> searchFollowMoments(Integer pageNum, Integer pageSize);
}
